#pragma once

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <stdbool.h>
namespace bit
{
	typedef int QDataType;

	typedef struct QueueNode
	{
		QDataType data;
		struct QueueNode* next;
	}QNode;

	typedef struct Queue
	{
		QNode* phead;
		QNode* patil;
		int size;
	}Queue;


	void QueueInit(Queue* pq);

	void QueueDestroy(Queue* pq);

	void QueueFush(Queue* pq, QDataType x);

	bool QueueEmpty(Queue* pq);

	void QueuePop(Queue* pq);

	QDataType QueueFront(Queue* pq);

	QDataType QueueBack(Queue* pq);

	int QueueSize(Queue* pq);
}
